package cn.tedu.baidashi.controller;

import cn.tedu.baidashi.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/*
 *统一异常处理类
 * @RestControllerAdvice，当控制器发生特定情况时，可以运行这个类中的方法
 *
 * */
@RestControllerAdvice
@Slf4j
public class ExceptionControllerAdvice {

    //这个注解表示下面的方法时用来处理控制器发生异常时的方法
    //handler：处理者
    //处理控制器发生的ServiceException异常
    @ExceptionHandler
    public String handlerServiceException(ServiceException e){
        log.error("业务异常",e);
        return e.getMessage();
    }

    //处理控制器发生的其他异常
    @ExceptionHandler
    public String handlerException(Exception e){
        log.error("其他异常",e);
        return e.getMessage();
    }

}
